package us.luosl.lslt.common;

import java.util.regex.Pattern;

/**
 * 各种正则校验工具类
 * @author create by luosl on 2019/7/10
 **/
public class RegexUtils {

    /**
     * 判断手机号的正则表达式 目前只检测 13 14 15 17 18 19开头的手机号,为支持新增号段
     */
    private static final Pattern MOBILE_PATTERN = Pattern.compile("^((13[0-9])|(15[0-9])|(18[0-9])|(14[0-9])|(17[0-9])|(19[0-9]))\\d{8}$");

    /**
     * 验证URL地址 例如： http://blog.csdn.net:80/xyang81/article/details/7705960? 或 http://www.csdn.net:80
     */
    private static final Pattern URL_PATTERN = Pattern.compile("^([hH][tT]{2}[pP]://|[hH][tT]{2}[pP][sS]://)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\\\\/])+$");

    /**
     * 校验手机号
     * @author create by luosl on 2019/7/10
     * @param telString 带校验的字符串
     * @return boolean
     **/
    public static boolean isMobile(String telString) {
        return MOBILE_PATTERN.matcher(telString).matches();
    }

    /**
     * 验证URL地址
     * @author create by luosl on 2019/7/10
     * @param url 格式：http://blog.csdn.net:80/xyang81/article/details/7705960? 或 http://www.csdn.net:80
     * @return 验证成功返回true，验证失败返回false
     */
    public static boolean isURL(String url) {
        return URL_PATTERN.matcher(url).matches();
    }
}
